package com.woniu.dao;

import com.ruoyi.common.core.domain.AjaxResult;
import com.woniu.entity.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;

import java.util.List;
import java.util.Map;

@Api(value = "订单模块终审持久层", tags = {"终审"})
public interface FinalTrialDao {

    @ApiOperation(value = "终审首页显示信息",notes = "获取所有需要终审的订单及客户信息",tags = {"终审"})
    List<FinalTrialClientInfoVO> firstClientProduction();

    @ApiOperation(value = "终审订单详情",notes = "获取所有需要终审的订单详情",tags = {"终审"})
    @ApiImplicitParams(@ApiImplicitParam(name = "clientId",value="客户id",required=true,dataTypeClass=Integer.class))
    List<FinalTrialDetailVO> getDetailInfo(Integer clientId);

    @ApiOperation(value = "更新终审订单",notes = "根据参数更新终审订单信息",tags = {"终审"})
    @ApiImplicitParams(@ApiImplicitParam(name = "params",value="更新需要参数",required=true,dataTypeClass=Map.class))
    Integer updateFinalTrialOrder(Map<String,Object> params);

    @ApiOperation(value = "查询终审信息",notes = "复合查询获取终审信息",tags = {"终审"})
    @ApiImplicitParams(@ApiImplicitParam(name = "params",value="查询终审信息",required=true,dataTypeClass=Map.class))
    List<FinalTrialClientInfoVO> searchClientProduction(Map<String, Object> params);

    @ApiOperation(value = "查询需要导出终审信息",notes = "获取所有需要导出终审信息",tags = {"终审"})
    @ApiImplicitParams(@ApiImplicitParam(name = "data",value="导出查询需要的数据",required=true,dataTypeClass=UsualExportVO.class))
    List<FinalTrialExportVO> selectFinalTrialOrders(UsualExportVO data);

    List<HistoryEntity> getHistoryList(Integer clientId);

    List<BillPaymentStatusEntity> findAllLoanStatus(Integer clientId, List<Integer> ids);
}
